#ifndef UDP_MESSAGE_QUEUE 
#define UDP_MESSAGE_QUEUE
#include <deque>
#include "dnsPacket.h"
#include "threads.h"
#include "udp.h"

class UDPMessageQueue
{
	public:
		UDPMessageQueue();
		virtual ~UDPMessageQueue();

		void push( const UDPMessage &message );
		UDPMessage pop();


	private:
		std::deque< UDPMessage > queue_;
		Mutex queueMutex_;
		Semaphore queueCount_;
};

#endif
